home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xarchie-2.0.9 / resolv.c < prev    next >
C/C++ Source or Header  |  1995-06-18  |  1KB  |  47 lines

  1. /*
  2.  * resolv.c : Program to test if you need -lresolv to ensure DNS
  3.  *          hostname lookups.
  4.  *
  5.  * George Ferguson, ferguson@cs.rochester.edu, 23 Apr 1993.
  6.  *
  7.  * Compile with: cc -o resolv resolv.c
  8.  *
  9.  * If you get an error message when you run the program, you need -lresolv.
  10.  *
  11.  * 24 Aug 1993: Use perror() rather than herror().
  12.  */
  13.  
  14. #include <stdio.h>
  15. #include <netdb.h>
  16.  
  17. main(argc,argv)
  18. int argc;
  19. char *argv[];
  20. {
  21.     char *hostname = "archie.ans.net";
  22.     char *addr;
  23.     struct hostent *host;
  24.     int i;
  25.  
  26.     if (argc > 1)
  27.     hostname = argv[1];
  28.     if((host=gethostbyname(hostname)) == NULL) {
  29.     /* Not everyone has herror() */
  30.         perror(hostname);
  31.         exit(1);
  32.     } else {
  33.     if (strcmp(hostname,host->h_name) != 0)
  34.         printf("%s has official name %s\n",hostname,host->h_name);
  35.     for (i=0; host->h_aliases[i]; i++)
  36.         if (strcmp(hostname,host->h_aliases[i]) != 0)
  37.         printf("%s has alias %s\n",hostname,host->h_aliases[i]);
  38.     for (i=0; host->h_addr_list[i]; i++) {
  39.         addr = host->h_addr_list[i];
  40.         printf("%s has address %d.%d.%d.%d\n",hostname,
  41.            ((unsigned char *)addr)[0],((unsigned char *)addr)[1],
  42.            ((unsigned char *)addr)[2],((unsigned char *)addr)[3]);
  43.     }
  44.     exit(0);
  45.     }
  46. }
  47.